]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
messageTray: Check if the clicked summary item has a right click menu
authorRui Matos <tiagomatos@gmail.com>
Fri, 24 May 2013 18:59:40 +0000 (20:59 +0200)
committerRui Matos <tiagomatos@gmail.com>
Mon, 27 May 2013 12:05:54 +0000 (14:05 +0200)
Commit e71129aa6879b62a04d2fc3b43ff25edd6611987 introduced the
possibility of having summary items without a right click menu so we
should check for one before trying to show it.

https://bugzilla.gnome.org/show_bug.cgi?id=700190

js/ui/messageTray.js

index b17053b1e4ae93301edda4dad8cab2fbe9281c6d..efba34b082f699c964fc477b0a94ad24f8d20627 100644 (file)
@@ -2241,10 +2241,15 @@ const MessageTray = new Lang.Class({
         let canShowSummaryBoxPointer = this._trayState == State.SHOWN;
         // We only have sources with empty notification stacks for legacy tray icons. Currently, we never attempt
         // to show notifications for legacy tray icons, but this would be necessary if we did.
-        let requestedNotificationStackIsEmpty = (this._clickedSummaryItemMouseButton == 1 && this._clickedSummaryItem.source.notifications.length == 0);
-        let wrongSummaryNotificationStack = (this._clickedSummaryItemMouseButton == 1 &&
+        let requestedNotificationStackIsEmpty = (haveClickedSummaryItem &&
+                                                 this._clickedSummaryItemMouseButton == 1 &&
+                                                 this._clickedSummaryItem.source.notifications.length == 0);
+        let wrongSummaryNotificationStack = (haveClickedSummaryItem &&
+                                             this._clickedSummaryItemMouseButton == 1 &&
                                              this._summaryBoxPointer.bin.child != this._clickedSummaryItem.notificationStackWidget);
-        let wrongSummaryRightClickMenu = (this._clickedSummaryItemMouseButton == 3 &&
+        let wrongSummaryRightClickMenu = (haveClickedSummaryItem &&
+                                          this._clickedSummaryItemMouseButton == 3 &&
+                                          this._clickedSummaryItem.rightClickMenu != null &&
                                           this._summaryBoxPointer.bin.child != this._clickedSummaryItem.rightClickMenu);
         let wrongSummaryBoxPointer = (haveClickedSummaryItem &&
                                       (wrongSummaryNotificationStack || wrongSummaryRightClickMenu));